package com.tuling.code.hashmap;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

import org.junit.Test;

public class HashMapTester {
	
	public static Map MAP = new HashMap<>();
	
	@Test
	public void testHashMap(){
		Map map = new HashMap<>();
		map.put("wukong", "Hello world");
		System.out.println(map.get("wukong"));
	}
	
	@Test
	public void testHash(){
		//哈希函数算法  Hash：三列   Map:地图    --> Hash散列出来的一个key在地图上映射出来的一个值
		//源码分析
		//1、并发写操作  2、 发生扩容。rehash
		
		//1:读取数据不一致
		//2:fail-fast
		
		MAP.put(1, 11);
		new Thread("thread2"){
			public void run() {
				MAP.put(3, 33);
				System.out.println(MAP.get(3));
			};
		}.start();
	}
}
